package com.shiro.demo.framework.shiro;

import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * 基类FormAuthenticationFilter登陆成功后发出redirect，并禁止后续Filter执行
 * 所以这里重载OnLoginSucess方法，不调用redirect，且返回true保证后续Filter被执行
 * 后续Filter为调用SpringMVC的代码
 */
public class AjaxFormAuthenticationFilter extends FormAuthenticationFilter {
    //防止redirect，使用MVC中的Controller实现
    @Override
    protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception {
        //返回true很重要，后续Filter可以继续执行
        return true;
    }
}
